package leetcode;

import java.util.*;

public class caogao {
    public static void main(String[] args) {
            int []n={1,2,2,3,9,7,6,0,1,0};
            //倒序排列
            Arrays.sort(n);
        }

        public static List<Integer> findAnagrams(String s, String p) {
            int a = s.length();
            int b = p.length();
            List<Integer> list = new ArrayList<>();
            Map<Character, Integer> mapp = new HashMap<>();
            int count = 0;
            for (int i = 0; i < b; i++) {
                if (mapp.containsKey(p.charAt(i))) {
                    int l = mapp.get(p.charAt(i)) + 1;
                    mapp.put(p.charAt(i), l);
                    continue;
                }
                mapp.put(p.charAt(i), 1);
            }

            for (int i = 0; i <= a - b; i++) {
                if (!mapp.containsKey(s.charAt(i))) continue;
                Map<Character, Integer> map2 = new HashMap<>();
                map2.putAll(mapp);
                for (int j = i; j < i + b; j++) {
                    if (!map2.containsKey(s.charAt(j))) break;
                    if (map2.containsKey(s.charAt(j))) {

                        if (map2.get(s.charAt(j)) > 1) {
                            int l = map2.get(s.charAt(j)) - 1;
                            map2.put(s.charAt(j), l);
                            continue;
                        } else {
                            map2.remove(s.charAt(j));
                            continue;
                        }

                    }
                }
                if (map2.isEmpty()) {
                    list.add(i);
                }
            }
            return list;
        }
}
